The Superdiversifier: Peephole Individualization for Software Protection

نویسندگان

  • Matthias Jacob
  • Mariusz H. Jakubowski
  • Prasad Naldurg
  • Chit Wei Saw
  • Ramarathnam Venkatesan
چکیده

We present a new approach to individualize programs at the machineand byte-code levels. Our superdiversification methodology is based on the compiler technique of superoptimization, which performs a brute-force search over all possible short instruction sequences to find minimum-size implementations of desired functions. Superdiversification also searches for equivalent code sequences, but we guide the search by restricting the allowed instructions and operands to control the types of generated code. Our goal is not necessarily the shortest or most optimal code sequence, but an individualized sequence identified by a secret key or other means, as determined by user-specified criteria. Also, our search is not limited to commodity instruction sets, but can work over arbitrary byte-codes designed for software randomization and protection. Applications include patch obfuscation to complicate reverse engineering and exploit creation, as well as binary diversification to frustrate malicious code tampering. We believe that this approach can serve as a useful element of a comprehensive software-protection system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Peek: A Formally Verified Peephole Optimization Framework for x86

Peek is a first step toward adding support for assembly-level program analyses, transformations, and optimizations in CompCert. Currently, Peek focuses on x86 peephole transformations implemented and verified in Coq. Peek is designed to provide a modular interface requiring that each peephole optimization satisfy only local correctness properties. Our primary result establishes that, assuming t...

متن کامل

Analysis of beneficiaries' tendencies towards rangeland individualization (Case study: Northwest rangelands of Golestan province

Background and purpose: Livestock exploitation and grazing is the most important human activity, the choice of which depends on various factors. The importance of how to manage customary rangeland systems in recent decades has made it one of the challenges of rangeland management in the country. Rangelands need principled management and planning for existing resources (water, soil and plants) a...

متن کامل

Precondition Inference for Peephole Optimizations in LLVM

Peephole optimizations are a common source of compiler bugs. Compiler developers typically transform an incorrect peephole optimization into a valid one by strengthening the precondition. This process is challenging and tedious. This paper proposes ALIVE-INFER, a data-driven approach that infers preconditions for peephole optimizations expressed in Alive. ALIVE-INFER generates positive and nega...

متن کامل

Lnst Ruction Selection by Attributed Parsing

Affix grammars are used to describe the instruction-set of a target architecture for purposes of compiler code generation A code generator is obtained automatically for a compiler using attributed parsing techniques. A compiler built on this model can automatically perform most popular machine-dependent optimizations, including peephole optimizations. Implementations of code generators based on...

متن کامل

Lightweight Formal Methods for Compiler Verification

Compilers should not miscompile. Our work addresses problems in developing peephole optimizations that perform local rewriting to improve the efficiency of LLVM code. These optimizations are individually difficult to get right, particularly in the presence of undefined behavior; taken together they represent a persistent source of bugs. ”Provably Correct Peephole Optimizations with Alive” prese...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008